package com.citcc.business.bean;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class UserOrderEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer pageNo = 1;

    protected Integer startRow;

    protected Integer pageSize = 10;

    protected String fields;

    public UserOrderEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPageNo(Integer pageNo) {
        this.pageNo=pageNo;
        this.startRow = (pageNo-1)*this.pageSize;
    }

    public Integer getPageNo() {
        return pageNo;
    }

    public void setStartRow(Integer startRow) {
        this.startRow=startRow;
    }

    public Integer getStartRow() {
        return startRow;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize=pageSize;
        this.startRow = (pageNo-1)*this.pageSize;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setFields(String fields) {
        this.fields=fields;
    }

    public String getFields() {
        return fields;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("ID like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("ID not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("TYPE is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(String value) {
            addCriterion("TYPE =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(String value) {
            addCriterion("TYPE <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(String value) {
            addCriterion("TYPE >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(String value) {
            addCriterion("TYPE >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(String value) {
            addCriterion("TYPE <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(String value) {
            addCriterion("TYPE <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLike(String value) {
            addCriterion("TYPE like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotLike(String value) {
            addCriterion("TYPE not like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<String> values) {
            addCriterion("TYPE in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<String> values) {
            addCriterion("TYPE not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(String value1, String value2) {
            addCriterion("TYPE between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(String value1, String value2) {
            addCriterion("TYPE not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("USER_ID is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("USER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(String value) {
            addCriterion("USER_ID =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(String value) {
            addCriterion("USER_ID <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(String value) {
            addCriterion("USER_ID >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(String value) {
            addCriterion("USER_ID >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(String value) {
            addCriterion("USER_ID <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(String value) {
            addCriterion("USER_ID <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLike(String value) {
            addCriterion("USER_ID like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotLike(String value) {
            addCriterion("USER_ID not like", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<String> values) {
            addCriterion("USER_ID in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<String> values) {
            addCriterion("USER_ID not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(String value1, String value2) {
            addCriterion("USER_ID between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(String value1, String value2) {
            addCriterion("USER_ID not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNull() {
            addCriterion("PAY_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andPayTypeIsNotNull() {
            addCriterion("PAY_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andPayTypeEqualTo(String value) {
            addCriterion("PAY_TYPE =", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotEqualTo(String value) {
            addCriterion("PAY_TYPE <>", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThan(String value) {
            addCriterion("PAY_TYPE >", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeGreaterThanOrEqualTo(String value) {
            addCriterion("PAY_TYPE >=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThan(String value) {
            addCriterion("PAY_TYPE <", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLessThanOrEqualTo(String value) {
            addCriterion("PAY_TYPE <=", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeLike(String value) {
            addCriterion("PAY_TYPE like", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotLike(String value) {
            addCriterion("PAY_TYPE not like", value, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeIn(List<String> values) {
            addCriterion("PAY_TYPE in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotIn(List<String> values) {
            addCriterion("PAY_TYPE not in", values, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeBetween(String value1, String value2) {
            addCriterion("PAY_TYPE between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayTypeNotBetween(String value1, String value2) {
            addCriterion("PAY_TYPE not between", value1, value2, "payType");
            return (Criteria) this;
        }

        public Criteria andPayStateIsNull() {
            addCriterion("PAY_STATE is null");
            return (Criteria) this;
        }

        public Criteria andPayStateIsNotNull() {
            addCriterion("PAY_STATE is not null");
            return (Criteria) this;
        }

        public Criteria andPayStateEqualTo(String value) {
            addCriterion("PAY_STATE =", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotEqualTo(String value) {
            addCriterion("PAY_STATE <>", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateGreaterThan(String value) {
            addCriterion("PAY_STATE >", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateGreaterThanOrEqualTo(String value) {
            addCriterion("PAY_STATE >=", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateLessThan(String value) {
            addCriterion("PAY_STATE <", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateLessThanOrEqualTo(String value) {
            addCriterion("PAY_STATE <=", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateLike(String value) {
            addCriterion("PAY_STATE like", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotLike(String value) {
            addCriterion("PAY_STATE not like", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateIn(List<String> values) {
            addCriterion("PAY_STATE in", values, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotIn(List<String> values) {
            addCriterion("PAY_STATE not in", values, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateBetween(String value1, String value2) {
            addCriterion("PAY_STATE between", value1, value2, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotBetween(String value1, String value2) {
            addCriterion("PAY_STATE not between", value1, value2, "payState");
            return (Criteria) this;
        }

        public Criteria andTradeNoIsNull() {
            addCriterion("TRADE_NO is null");
            return (Criteria) this;
        }

        public Criteria andTradeNoIsNotNull() {
            addCriterion("TRADE_NO is not null");
            return (Criteria) this;
        }

        public Criteria andTradeNoEqualTo(String value) {
            addCriterion("TRADE_NO =", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotEqualTo(String value) {
            addCriterion("TRADE_NO <>", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoGreaterThan(String value) {
            addCriterion("TRADE_NO >", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoGreaterThanOrEqualTo(String value) {
            addCriterion("TRADE_NO >=", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoLessThan(String value) {
            addCriterion("TRADE_NO <", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoLessThanOrEqualTo(String value) {
            addCriterion("TRADE_NO <=", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoLike(String value) {
            addCriterion("TRADE_NO like", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotLike(String value) {
            addCriterion("TRADE_NO not like", value, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoIn(List<String> values) {
            addCriterion("TRADE_NO in", values, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotIn(List<String> values) {
            addCriterion("TRADE_NO not in", values, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoBetween(String value1, String value2) {
            addCriterion("TRADE_NO between", value1, value2, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andTradeNoNotBetween(String value1, String value2) {
            addCriterion("TRADE_NO not between", value1, value2, "tradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoIsNull() {
            addCriterion("OUT_TRADE_NO is null");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoIsNotNull() {
            addCriterion("OUT_TRADE_NO is not null");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoEqualTo(String value) {
            addCriterion("OUT_TRADE_NO =", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoNotEqualTo(String value) {
            addCriterion("OUT_TRADE_NO <>", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoGreaterThan(String value) {
            addCriterion("OUT_TRADE_NO >", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoGreaterThanOrEqualTo(String value) {
            addCriterion("OUT_TRADE_NO >=", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoLessThan(String value) {
            addCriterion("OUT_TRADE_NO <", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoLessThanOrEqualTo(String value) {
            addCriterion("OUT_TRADE_NO <=", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoLike(String value) {
            addCriterion("OUT_TRADE_NO like", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoNotLike(String value) {
            addCriterion("OUT_TRADE_NO not like", value, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoIn(List<String> values) {
            addCriterion("OUT_TRADE_NO in", values, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoNotIn(List<String> values) {
            addCriterion("OUT_TRADE_NO not in", values, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoBetween(String value1, String value2) {
            addCriterion("OUT_TRADE_NO between", value1, value2, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andOutTradeNoNotBetween(String value1, String value2) {
            addCriterion("OUT_TRADE_NO not between", value1, value2, "outTradeNo");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNull() {
            addCriterion("PAY_TIME is null");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNotNull() {
            addCriterion("PAY_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andPayTimeEqualTo(Date value) {
            addCriterion("PAY_TIME =", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotEqualTo(Date value) {
            addCriterion("PAY_TIME <>", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThan(Date value) {
            addCriterion("PAY_TIME >", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("PAY_TIME >=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThan(Date value) {
            addCriterion("PAY_TIME <", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanOrEqualTo(Date value) {
            addCriterion("PAY_TIME <=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIn(List<Date> values) {
            addCriterion("PAY_TIME in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotIn(List<Date> values) {
            addCriterion("PAY_TIME not in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeBetween(Date value1, Date value2) {
            addCriterion("PAY_TIME between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotBetween(Date value1, Date value2) {
            addCriterion("PAY_TIME not between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayNumberIsNull() {
            addCriterion("PAY_NUMBER is null");
            return (Criteria) this;
        }

        public Criteria andPayNumberIsNotNull() {
            addCriterion("PAY_NUMBER is not null");
            return (Criteria) this;
        }

        public Criteria andPayNumberEqualTo(BigDecimal value) {
            addCriterion("PAY_NUMBER =", value, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberNotEqualTo(BigDecimal value) {
            addCriterion("PAY_NUMBER <>", value, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberGreaterThan(BigDecimal value) {
            addCriterion("PAY_NUMBER >", value, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("PAY_NUMBER >=", value, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberLessThan(BigDecimal value) {
            addCriterion("PAY_NUMBER <", value, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberLessThanOrEqualTo(BigDecimal value) {
            addCriterion("PAY_NUMBER <=", value, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberIn(List<BigDecimal> values) {
            addCriterion("PAY_NUMBER in", values, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberNotIn(List<BigDecimal> values) {
            addCriterion("PAY_NUMBER not in", values, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PAY_NUMBER between", value1, value2, "payNumber");
            return (Criteria) this;
        }

        public Criteria andPayNumberNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("PAY_NUMBER not between", value1, value2, "payNumber");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("CREATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("CREATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("CREATE_TIME =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("CREATE_TIME <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("CREATE_TIME >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("CREATE_TIME >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("CREATE_TIME <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("CREATE_TIME <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("CREATE_TIME in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("CREATE_TIME not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("CREATE_TIME between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("CREATE_TIME not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNull() {
            addCriterion("CREATE_BY is null");
            return (Criteria) this;
        }

        public Criteria andCreateByIsNotNull() {
            addCriterion("CREATE_BY is not null");
            return (Criteria) this;
        }

        public Criteria andCreateByEqualTo(String value) {
            addCriterion("CREATE_BY =", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotEqualTo(String value) {
            addCriterion("CREATE_BY <>", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThan(String value) {
            addCriterion("CREATE_BY >", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByGreaterThanOrEqualTo(String value) {
            addCriterion("CREATE_BY >=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThan(String value) {
            addCriterion("CREATE_BY <", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLessThanOrEqualTo(String value) {
            addCriterion("CREATE_BY <=", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByLike(String value) {
            addCriterion("CREATE_BY like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotLike(String value) {
            addCriterion("CREATE_BY not like", value, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByIn(List<String> values) {
            addCriterion("CREATE_BY in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotIn(List<String> values) {
            addCriterion("CREATE_BY not in", values, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByBetween(String value1, String value2) {
            addCriterion("CREATE_BY between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andCreateByNotBetween(String value1, String value2) {
            addCriterion("CREATE_BY not between", value1, value2, "createBy");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("UPDATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("UPDATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("UPDATE_TIME =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("UPDATE_TIME <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("UPDATE_TIME >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("UPDATE_TIME >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("UPDATE_TIME <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("UPDATE_TIME <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("UPDATE_TIME in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("UPDATE_TIME not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("UPDATE_TIME between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("UPDATE_TIME not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNull() {
            addCriterion("UPDATE_BY is null");
            return (Criteria) this;
        }

        public Criteria andUpdateByIsNotNull() {
            addCriterion("UPDATE_BY is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateByEqualTo(String value) {
            addCriterion("UPDATE_BY =", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotEqualTo(String value) {
            addCriterion("UPDATE_BY <>", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThan(String value) {
            addCriterion("UPDATE_BY >", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByGreaterThanOrEqualTo(String value) {
            addCriterion("UPDATE_BY >=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThan(String value) {
            addCriterion("UPDATE_BY <", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLessThanOrEqualTo(String value) {
            addCriterion("UPDATE_BY <=", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByLike(String value) {
            addCriterion("UPDATE_BY like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotLike(String value) {
            addCriterion("UPDATE_BY not like", value, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByIn(List<String> values) {
            addCriterion("UPDATE_BY in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotIn(List<String> values) {
            addCriterion("UPDATE_BY not in", values, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByBetween(String value1, String value2) {
            addCriterion("UPDATE_BY between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andUpdateByNotBetween(String value1, String value2) {
            addCriterion("UPDATE_BY not between", value1, value2, "updateBy");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("REMARK is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("REMARK is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("REMARK =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("REMARK <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("REMARK >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("REMARK >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("REMARK <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("REMARK <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("REMARK like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("REMARK not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("REMARK in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("REMARK not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("REMARK between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("REMARK not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNull() {
            addCriterion("DEL_FLAG is null");
            return (Criteria) this;
        }

        public Criteria andDelFlagIsNotNull() {
            addCriterion("DEL_FLAG is not null");
            return (Criteria) this;
        }

        public Criteria andDelFlagEqualTo(String value) {
            addCriterion("DEL_FLAG =", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotEqualTo(String value) {
            addCriterion("DEL_FLAG <>", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThan(String value) {
            addCriterion("DEL_FLAG >", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagGreaterThanOrEqualTo(String value) {
            addCriterion("DEL_FLAG >=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThan(String value) {
            addCriterion("DEL_FLAG <", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLessThanOrEqualTo(String value) {
            addCriterion("DEL_FLAG <=", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagLike(String value) {
            addCriterion("DEL_FLAG like", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotLike(String value) {
            addCriterion("DEL_FLAG not like", value, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagIn(List<String> values) {
            addCriterion("DEL_FLAG in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotIn(List<String> values) {
            addCriterion("DEL_FLAG not in", values, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagBetween(String value1, String value2) {
            addCriterion("DEL_FLAG between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andDelFlagNotBetween(String value1, String value2) {
            addCriterion("DEL_FLAG not between", value1, value2, "delFlag");
            return (Criteria) this;
        }

        public Criteria andGunCodeIsNull() {
            addCriterion("GUN_CODE is null");
            return (Criteria) this;
        }

        public Criteria andGunCodeIsNotNull() {
            addCriterion("GUN_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andGunCodeEqualTo(String value) {
            addCriterion("GUN_CODE =", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeNotEqualTo(String value) {
            addCriterion("GUN_CODE <>", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeGreaterThan(String value) {
            addCriterion("GUN_CODE >", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeGreaterThanOrEqualTo(String value) {
            addCriterion("GUN_CODE >=", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeLessThan(String value) {
            addCriterion("GUN_CODE <", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeLessThanOrEqualTo(String value) {
            addCriterion("GUN_CODE <=", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeLike(String value) {
            addCriterion("GUN_CODE like", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeNotLike(String value) {
            addCriterion("GUN_CODE not like", value, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeIn(List<String> values) {
            addCriterion("GUN_CODE in", values, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeNotIn(List<String> values) {
            addCriterion("GUN_CODE not in", values, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeBetween(String value1, String value2) {
            addCriterion("GUN_CODE between", value1, value2, "gunCode");
            return (Criteria) this;
        }

        public Criteria andGunCodeNotBetween(String value1, String value2) {
            addCriterion("GUN_CODE not between", value1, value2, "gunCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeIsNull() {
            addCriterion("STAKE_CODE is null");
            return (Criteria) this;
        }

        public Criteria andStakeCodeIsNotNull() {
            addCriterion("STAKE_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andStakeCodeEqualTo(String value) {
            addCriterion("STAKE_CODE =", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeNotEqualTo(String value) {
            addCriterion("STAKE_CODE <>", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeGreaterThan(String value) {
            addCriterion("STAKE_CODE >", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeGreaterThanOrEqualTo(String value) {
            addCriterion("STAKE_CODE >=", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeLessThan(String value) {
            addCriterion("STAKE_CODE <", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeLessThanOrEqualTo(String value) {
            addCriterion("STAKE_CODE <=", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeLike(String value) {
            addCriterion("STAKE_CODE like", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeNotLike(String value) {
            addCriterion("STAKE_CODE not like", value, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeIn(List<String> values) {
            addCriterion("STAKE_CODE in", values, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeNotIn(List<String> values) {
            addCriterion("STAKE_CODE not in", values, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeBetween(String value1, String value2) {
            addCriterion("STAKE_CODE between", value1, value2, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStakeCodeNotBetween(String value1, String value2) {
            addCriterion("STAKE_CODE not between", value1, value2, "stakeCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeIsNull() {
            addCriterion("STATION_CODE is null");
            return (Criteria) this;
        }

        public Criteria andStationCodeIsNotNull() {
            addCriterion("STATION_CODE is not null");
            return (Criteria) this;
        }

        public Criteria andStationCodeEqualTo(String value) {
            addCriterion("STATION_CODE =", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotEqualTo(String value) {
            addCriterion("STATION_CODE <>", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeGreaterThan(String value) {
            addCriterion("STATION_CODE >", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeGreaterThanOrEqualTo(String value) {
            addCriterion("STATION_CODE >=", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeLessThan(String value) {
            addCriterion("STATION_CODE <", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeLessThanOrEqualTo(String value) {
            addCriterion("STATION_CODE <=", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeLike(String value) {
            addCriterion("STATION_CODE like", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotLike(String value) {
            addCriterion("STATION_CODE not like", value, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeIn(List<String> values) {
            addCriterion("STATION_CODE in", values, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotIn(List<String> values) {
            addCriterion("STATION_CODE not in", values, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeBetween(String value1, String value2) {
            addCriterion("STATION_CODE between", value1, value2, "stationCode");
            return (Criteria) this;
        }

        public Criteria andStationCodeNotBetween(String value1, String value2) {
            addCriterion("STATION_CODE not between", value1, value2, "stationCode");
            return (Criteria) this;
        }

        public Criteria andChargeTypeIsNull() {
            addCriterion("CHARGE_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andChargeTypeIsNotNull() {
            addCriterion("CHARGE_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andChargeTypeEqualTo(String value) {
            addCriterion("CHARGE_TYPE =", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeNotEqualTo(String value) {
            addCriterion("CHARGE_TYPE <>", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeGreaterThan(String value) {
            addCriterion("CHARGE_TYPE >", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeGreaterThanOrEqualTo(String value) {
            addCriterion("CHARGE_TYPE >=", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeLessThan(String value) {
            addCriterion("CHARGE_TYPE <", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeLessThanOrEqualTo(String value) {
            addCriterion("CHARGE_TYPE <=", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeLike(String value) {
            addCriterion("CHARGE_TYPE like", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeNotLike(String value) {
            addCriterion("CHARGE_TYPE not like", value, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeIn(List<String> values) {
            addCriterion("CHARGE_TYPE in", values, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeNotIn(List<String> values) {
            addCriterion("CHARGE_TYPE not in", values, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeBetween(String value1, String value2) {
            addCriterion("CHARGE_TYPE between", value1, value2, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeTypeNotBetween(String value1, String value2) {
            addCriterion("CHARGE_TYPE not between", value1, value2, "chargeType");
            return (Criteria) this;
        }

        public Criteria andChargeStandardIsNull() {
            addCriterion("CHARGE_STANDARD is null");
            return (Criteria) this;
        }

        public Criteria andChargeStandardIsNotNull() {
            addCriterion("CHARGE_STANDARD is not null");
            return (Criteria) this;
        }

        public Criteria andChargeStandardEqualTo(String value) {
            addCriterion("CHARGE_STANDARD =", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardNotEqualTo(String value) {
            addCriterion("CHARGE_STANDARD <>", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardGreaterThan(String value) {
            addCriterion("CHARGE_STANDARD >", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardGreaterThanOrEqualTo(String value) {
            addCriterion("CHARGE_STANDARD >=", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardLessThan(String value) {
            addCriterion("CHARGE_STANDARD <", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardLessThanOrEqualTo(String value) {
            addCriterion("CHARGE_STANDARD <=", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardLike(String value) {
            addCriterion("CHARGE_STANDARD like", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardNotLike(String value) {
            addCriterion("CHARGE_STANDARD not like", value, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardIn(List<String> values) {
            addCriterion("CHARGE_STANDARD in", values, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardNotIn(List<String> values) {
            addCriterion("CHARGE_STANDARD not in", values, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardBetween(String value1, String value2) {
            addCriterion("CHARGE_STANDARD between", value1, value2, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargeStandardNotBetween(String value1, String value2) {
            addCriterion("CHARGE_STANDARD not between", value1, value2, "chargeStandard");
            return (Criteria) this;
        }

        public Criteria andChargePowerIsNull() {
            addCriterion("CHARGE_POWER is null");
            return (Criteria) this;
        }

        public Criteria andChargePowerIsNotNull() {
            addCriterion("CHARGE_POWER is not null");
            return (Criteria) this;
        }

        public Criteria andChargePowerEqualTo(String value) {
            addCriterion("CHARGE_POWER =", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerNotEqualTo(String value) {
            addCriterion("CHARGE_POWER <>", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerGreaterThan(String value) {
            addCriterion("CHARGE_POWER >", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerGreaterThanOrEqualTo(String value) {
            addCriterion("CHARGE_POWER >=", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerLessThan(String value) {
            addCriterion("CHARGE_POWER <", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerLessThanOrEqualTo(String value) {
            addCriterion("CHARGE_POWER <=", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerLike(String value) {
            addCriterion("CHARGE_POWER like", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerNotLike(String value) {
            addCriterion("CHARGE_POWER not like", value, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerIn(List<String> values) {
            addCriterion("CHARGE_POWER in", values, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerNotIn(List<String> values) {
            addCriterion("CHARGE_POWER not in", values, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerBetween(String value1, String value2) {
            addCriterion("CHARGE_POWER between", value1, value2, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargePowerNotBetween(String value1, String value2) {
            addCriterion("CHARGE_POWER not between", value1, value2, "chargePower");
            return (Criteria) this;
        }

        public Criteria andChargeDyIsNull() {
            addCriterion("CHARGE_DY is null");
            return (Criteria) this;
        }

        public Criteria andChargeDyIsNotNull() {
            addCriterion("CHARGE_DY is not null");
            return (Criteria) this;
        }

        public Criteria andChargeDyEqualTo(String value) {
            addCriterion("CHARGE_DY =", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyNotEqualTo(String value) {
            addCriterion("CHARGE_DY <>", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyGreaterThan(String value) {
            addCriterion("CHARGE_DY >", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyGreaterThanOrEqualTo(String value) {
            addCriterion("CHARGE_DY >=", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyLessThan(String value) {
            addCriterion("CHARGE_DY <", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyLessThanOrEqualTo(String value) {
            addCriterion("CHARGE_DY <=", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyLike(String value) {
            addCriterion("CHARGE_DY like", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyNotLike(String value) {
            addCriterion("CHARGE_DY not like", value, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyIn(List<String> values) {
            addCriterion("CHARGE_DY in", values, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyNotIn(List<String> values) {
            addCriterion("CHARGE_DY not in", values, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyBetween(String value1, String value2) {
            addCriterion("CHARGE_DY between", value1, value2, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeDyNotBetween(String value1, String value2) {
            addCriterion("CHARGE_DY not between", value1, value2, "chargeDy");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyIsNull() {
            addCriterion("CHARGE_MONEY is null");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyIsNotNull() {
            addCriterion("CHARGE_MONEY is not null");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyEqualTo(BigDecimal value) {
            addCriterion("CHARGE_MONEY =", value, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyNotEqualTo(BigDecimal value) {
            addCriterion("CHARGE_MONEY <>", value, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyGreaterThan(BigDecimal value) {
            addCriterion("CHARGE_MONEY >", value, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_MONEY >=", value, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyLessThan(BigDecimal value) {
            addCriterion("CHARGE_MONEY <", value, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_MONEY <=", value, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyIn(List<BigDecimal> values) {
            addCriterion("CHARGE_MONEY in", values, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyNotIn(List<BigDecimal> values) {
            addCriterion("CHARGE_MONEY not in", values, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_MONEY between", value1, value2, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeMoneyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_MONEY not between", value1, value2, "chargeMoney");
            return (Criteria) this;
        }

        public Criteria andChargeFwIsNull() {
            addCriterion("CHARGE_FW is null");
            return (Criteria) this;
        }

        public Criteria andChargeFwIsNotNull() {
            addCriterion("CHARGE_FW is not null");
            return (Criteria) this;
        }

        public Criteria andChargeFwEqualTo(BigDecimal value) {
            addCriterion("CHARGE_FW =", value, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwNotEqualTo(BigDecimal value) {
            addCriterion("CHARGE_FW <>", value, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwGreaterThan(BigDecimal value) {
            addCriterion("CHARGE_FW >", value, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_FW >=", value, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwLessThan(BigDecimal value) {
            addCriterion("CHARGE_FW <", value, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_FW <=", value, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwIn(List<BigDecimal> values) {
            addCriterion("CHARGE_FW in", values, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwNotIn(List<BigDecimal> values) {
            addCriterion("CHARGE_FW not in", values, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_FW between", value1, value2, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeFwNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_FW not between", value1, value2, "chargeFw");
            return (Criteria) this;
        }

        public Criteria andChargeTcIsNull() {
            addCriterion("CHARGE_TC is null");
            return (Criteria) this;
        }

        public Criteria andChargeTcIsNotNull() {
            addCriterion("CHARGE_TC is not null");
            return (Criteria) this;
        }

        public Criteria andChargeTcEqualTo(BigDecimal value) {
            addCriterion("CHARGE_TC =", value, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcNotEqualTo(BigDecimal value) {
            addCriterion("CHARGE_TC <>", value, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcGreaterThan(BigDecimal value) {
            addCriterion("CHARGE_TC >", value, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_TC >=", value, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcLessThan(BigDecimal value) {
            addCriterion("CHARGE_TC <", value, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_TC <=", value, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcIn(List<BigDecimal> values) {
            addCriterion("CHARGE_TC in", values, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcNotIn(List<BigDecimal> values) {
            addCriterion("CHARGE_TC not in", values, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_TC between", value1, value2, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeTcNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_TC not between", value1, value2, "chargeTc");
            return (Criteria) this;
        }

        public Criteria andChargeMsIsNull() {
            addCriterion("CHARGE_MS is null");
            return (Criteria) this;
        }

        public Criteria andChargeMsIsNotNull() {
            addCriterion("CHARGE_MS is not null");
            return (Criteria) this;
        }

        public Criteria andChargeMsEqualTo(String value) {
            addCriterion("CHARGE_MS =", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsNotEqualTo(String value) {
            addCriterion("CHARGE_MS <>", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsGreaterThan(String value) {
            addCriterion("CHARGE_MS >", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsGreaterThanOrEqualTo(String value) {
            addCriterion("CHARGE_MS >=", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsLessThan(String value) {
            addCriterion("CHARGE_MS <", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsLessThanOrEqualTo(String value) {
            addCriterion("CHARGE_MS <=", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsLike(String value) {
            addCriterion("CHARGE_MS like", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsNotLike(String value) {
            addCriterion("CHARGE_MS not like", value, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsIn(List<String> values) {
            addCriterion("CHARGE_MS in", values, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsNotIn(List<String> values) {
            addCriterion("CHARGE_MS not in", values, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsBetween(String value1, String value2) {
            addCriterion("CHARGE_MS between", value1, value2, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeMsNotBetween(String value1, String value2) {
            addCriterion("CHARGE_MS not between", value1, value2, "chargeMs");
            return (Criteria) this;
        }

        public Criteria andChargeLongIsNull() {
            addCriterion("CHARGE_LONG is null");
            return (Criteria) this;
        }

        public Criteria andChargeLongIsNotNull() {
            addCriterion("CHARGE_LONG is not null");
            return (Criteria) this;
        }

        public Criteria andChargeLongEqualTo(BigDecimal value) {
            addCriterion("CHARGE_LONG =", value, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongNotEqualTo(BigDecimal value) {
            addCriterion("CHARGE_LONG <>", value, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongGreaterThan(BigDecimal value) {
            addCriterion("CHARGE_LONG >", value, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_LONG >=", value, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongLessThan(BigDecimal value) {
            addCriterion("CHARGE_LONG <", value, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongLessThanOrEqualTo(BigDecimal value) {
            addCriterion("CHARGE_LONG <=", value, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongIn(List<BigDecimal> values) {
            addCriterion("CHARGE_LONG in", values, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongNotIn(List<BigDecimal> values) {
            addCriterion("CHARGE_LONG not in", values, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_LONG between", value1, value2, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeLongNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("CHARGE_LONG not between", value1, value2, "chargeLong");
            return (Criteria) this;
        }

        public Criteria andChargeStateIsNull() {
            addCriterion("CHARGE_STATE is null");
            return (Criteria) this;
        }

        public Criteria andChargeStateIsNotNull() {
            addCriterion("CHARGE_STATE is not null");
            return (Criteria) this;
        }

        public Criteria andChargeStateEqualTo(String value) {
            addCriterion("CHARGE_STATE =", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateNotEqualTo(String value) {
            addCriterion("CHARGE_STATE <>", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateGreaterThan(String value) {
            addCriterion("CHARGE_STATE >", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateGreaterThanOrEqualTo(String value) {
            addCriterion("CHARGE_STATE >=", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateLessThan(String value) {
            addCriterion("CHARGE_STATE <", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateLessThanOrEqualTo(String value) {
            addCriterion("CHARGE_STATE <=", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateLike(String value) {
            addCriterion("CHARGE_STATE like", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateNotLike(String value) {
            addCriterion("CHARGE_STATE not like", value, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateIn(List<String> values) {
            addCriterion("CHARGE_STATE in", values, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateNotIn(List<String> values) {
            addCriterion("CHARGE_STATE not in", values, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateBetween(String value1, String value2) {
            addCriterion("CHARGE_STATE between", value1, value2, "chargeState");
            return (Criteria) this;
        }

        public Criteria andChargeStateNotBetween(String value1, String value2) {
            addCriterion("CHARGE_STATE not between", value1, value2, "chargeState");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNull() {
            addCriterion("USER_PHONE is null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIsNotNull() {
            addCriterion("USER_PHONE is not null");
            return (Criteria) this;
        }

        public Criteria andUserPhoneEqualTo(String value) {
            addCriterion("USER_PHONE =", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotEqualTo(String value) {
            addCriterion("USER_PHONE <>", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThan(String value) {
            addCriterion("USER_PHONE >", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("USER_PHONE >=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThan(String value) {
            addCriterion("USER_PHONE <", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLessThanOrEqualTo(String value) {
            addCriterion("USER_PHONE <=", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneLike(String value) {
            addCriterion("USER_PHONE like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotLike(String value) {
            addCriterion("USER_PHONE not like", value, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneIn(List<String> values) {
            addCriterion("USER_PHONE in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotIn(List<String> values) {
            addCriterion("USER_PHONE not in", values, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneBetween(String value1, String value2) {
            addCriterion("USER_PHONE between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andUserPhoneNotBetween(String value1, String value2) {
            addCriterion("USER_PHONE not between", value1, value2, "userPhone");
            return (Criteria) this;
        }

        public Criteria andStationNameIsNull() {
            addCriterion("STATION_NAME is null");
            return (Criteria) this;
        }

        public Criteria andStationNameIsNotNull() {
            addCriterion("STATION_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andStationNameEqualTo(String value) {
            addCriterion("STATION_NAME =", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameNotEqualTo(String value) {
            addCriterion("STATION_NAME <>", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameGreaterThan(String value) {
            addCriterion("STATION_NAME >", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameGreaterThanOrEqualTo(String value) {
            addCriterion("STATION_NAME >=", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameLessThan(String value) {
            addCriterion("STATION_NAME <", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameLessThanOrEqualTo(String value) {
            addCriterion("STATION_NAME <=", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameLike(String value) {
            addCriterion("STATION_NAME like", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameNotLike(String value) {
            addCriterion("STATION_NAME not like", value, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameIn(List<String> values) {
            addCriterion("STATION_NAME in", values, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameNotIn(List<String> values) {
            addCriterion("STATION_NAME not in", values, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameBetween(String value1, String value2) {
            addCriterion("STATION_NAME between", value1, value2, "stationName");
            return (Criteria) this;
        }

        public Criteria andStationNameNotBetween(String value1, String value2) {
            addCriterion("STATION_NAME not between", value1, value2, "stationName");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNull() {
            addCriterion("START_TIME is null");
            return (Criteria) this;
        }

        public Criteria andStartTimeIsNotNull() {
            addCriterion("START_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andStartTimeEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME =", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME <>", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("START_TIME >", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME >=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThan(Date value) {
            addCriterionForJDBCDate("START_TIME <", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("START_TIME <=", value, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeIn(List<Date> values) {
            addCriterionForJDBCDate("START_TIME in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("START_TIME not in", values, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("START_TIME between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andStartTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("START_TIME not between", value1, value2, "startTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNull() {
            addCriterion("END_TIME is null");
            return (Criteria) this;
        }

        public Criteria andEndTimeIsNotNull() {
            addCriterion("END_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andEndTimeEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME =", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME <>", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("END_TIME >", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME >=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThan(Date value) {
            addCriterionForJDBCDate("END_TIME <", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("END_TIME <=", value, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeIn(List<Date> values) {
            addCriterionForJDBCDate("END_TIME in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("END_TIME not in", values, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("END_TIME between", value1, value2, "endTime");
            return (Criteria) this;
        }

        public Criteria andEndTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("END_TIME not between", value1, value2, "endTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}